extends Node

signal 信号_切换回合(state:BaseState)
signal 信号_玩家回合开始()
signal 信号_敌人回合开始()

@onready var 状态机: 状态机 = $状态机

var 是否是玩家回合:bool = true

func _ready() -> void:
	初始化()
	
func 初始化():
	状态机.launch()

func 切换回合()-> BaseState:
	if 游戏管理器.是否游戏结束:
		return
	if 玩家行动管理器.是否行动中:
		return
	if 状态机.current_state.state_name=="玩家回合":
		开始敌人回合()
	elif 状态机.current_state.state_name=="敌人回合":
		开始玩家回合()
	信号_切换回合.emit(状态机.current_state)	
	return 状态机.current_state

func 开始玩家回合():
	状态机.change_state("玩家回合")	
	是否是玩家回合 = true
	信号_玩家回合开始.emit()
	
	网格管理器.显示技能范围([])
	
	if not 游戏管理器.玩家角色集合.is_empty():
		游戏管理器.选中角色(游戏管理器.玩家角色集合[0])
	
func 开始敌人回合():
	状态机.change_state("敌人回合")
	是否是玩家回合 = false
	信号_敌人回合开始.emit()	
	
	网格管理器.显示技能范围([])
	
	
